package com.ftwj.demo.base.common.inter;

import java.util.List;
import java.util.Map;

import com.ftwj.demo.base.wrapper.QueryWrapper;

public interface QueryDao<T, K> {

	T query(K primarykey);

	Map<String, Object> queryMap(K primarykey);

	List<T> queryListByIds(Object... primarykey);
	
	List<Map<String,Object>> queryListMapByIds(Object... primarykey);

	T queryByUniteId(Object... primarykey);
	
	Map<String, Object> queryMapByUniteId(Object... primarykey);

	List<T> queryListByExample(T t);

	List<Map<String, Object>> queryListMapByExample(T t);

	T queryByExample(T t);
	
	Map<String, Object> queryMapByExample(T t);
	
	T queryByConditions(QueryWrapper wrapper);
	
	Map<String, Object> queryMapByConditions(QueryWrapper wrapper);

	List<T> queryListByConditions(QueryWrapper wrapper);

	List<Map<String, Object>> queryListMapByConditions(QueryWrapper wrapper);

	List<T> queryListByConditions(T t, QueryWrapper wrapper);

	List<Map<String, Object>> queryListMapByConditions(T t, QueryWrapper wrapper);

	Integer queryCount(QueryWrapper wrapper);

	List<Map<String, Object>> queryList();
	
}
